package com.sise.bl.service;

import com.sise.bl.entity.User;

import java.util.List;

/**
 * 用户模块对应的业务逻辑接口类
 */
public interface UserService {

    /**
     * 检测用户名是够存在
     *
     * @param username 被检测的用户名
     * @return boolean true存在 false不存在
     */
    boolean checkedUser(String username);

    /**
     * 注册的业务逻辑
     *
     * @param user
     * @return 插入数据影响的行数
     */
    int registerUser(User user);

    /**
     * 激活方法
     *
     * @param code 根据激活码进行激活
     * @return 三个状态 0激活失败 1激活成功 2已经激活
     */
    int activeUser(String code);

    /**
     * 用户登录
     * @param username      用户名
     * @param password      密码
     * @return
     */
    User login(String username, String password);

    User findByUid(String uid);

    /**
     * 修该信息
     * @param user
     * @return
     */
    int updateUser(User user);

    /**
     * 查询所有用户
     * @return
     */
    List<User> queryAll();

    /**
     * 根据用户名查找
     * @param name
     * @return
     */
    User queryByName(String name);
}
